_llll_iiii_nnnn_tttt detects features of C program files which are likely to be bugs,
non-portable, or wasteful. It also checks type usage more strictly than
the compiler. _llll_iiii_nnnn_tttt issues error and warning messages. Among the things
it detects are unreachable statements, loops not entered at the top,
automatic variables declared and not used, and logical expressions whose
value is constant. _llll_iiii_nnnn_tttt checks for functions that return values in some
places and not in others, functions called with varying numbers or types
of arguments, and functions whose values are not used or whose values are
used but none returned.
Note that this version of lint may not be fully backwards compatible with
older versions of lint. The older version became rather useless, since
it did not support the ANSI C features supported by our C compiler _c_c(1).
While this is an ANSI C lint, it does not exactly match the ANSI
conformance modes of _c_c(1). In particular, it treats "long long" as
"long" and emits a warning about the second "long", which is viewed as a
redundant keyword. The __LONGLONG macro is not predefined in any of the
language models (see the _----_XXXX options) supported by _llll_iiii_nnnn_tttt. To get lint like
warnings with the full _c_c(1) language and options, we recommend use of
the _c_c(1) option _----_wwww_llll_iiii_nnnn_tttt. Note that the error and warning messages from
_llll_iiii_nnnn_tttt contain less detail than the _c_c(1) versions of these messages.
Arguments whose names end with _...._cccc are taken to be C source files.
Arguments whose names end with _...._llll_nnnn are taken to be the result of an
earlier invocation of _llll_iiii_nnnn_tttt with either the _----_cccc or the _----_oooo option used. The
_...._llll_nnnn files are analogous to _...._oooo (object) files that are produced by the
_cccc_cccc(1) command when given a _...._cccc file as input. Files with other suffixes
are warned about and ignored.
_llll_iiii_nnnn_tttt takes all the _...._cccc, _...._llll_nnnn, and _llll_llll_iiii_bbbb_----_llll_x_...._llll_nnnn (specified by _----_llll_x) files and
processes them in their command line order. By default, _llll_iiii_nnnn_tttt appends the
standard C lint library (_llll_llll_iiii_bbbb_----_llll_cccc_...._llll_nnnn) to the end of the list of files.
When the _----_cccc option is used, the _...._llll_nnnn and the _llll_llll_iiii_bbbb_----_llll_x_...._llll_nnnn files are ignored.
When the _----_cccc option is not used, the second pass of _llll_iiii_nnnn_tttt checks the _...._llll_nnnn
and the _llll_llll_iiii_bbbb_----_llll_x_...._llll_nnnn list of files for mutual compatibility.
Any number of _llll_iiii_nnnn_tttt options may be used, in any order, intermixed with
file-name arguments. The following options are used to suppress certain
kinds of complaints:
_----_aaaa Suppress complaints about assignments of long values to variables